package com.hcms.admin.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hcms.admin.dto.CmsCateOptionResponse;
import com.hcms.admin.dto.CmsCateTreeResponse;
import com.hcms.mybatis.entity.CmsCate;

import java.util.List;

/**
 * <p>
 * 栏目管理 服务类
 * </p>
 *
 * @author achenxw@126.com
 * @since 2023-03-31
 */
public interface ICmsCateService extends IService<CmsCate> {

    /**
     * 获取Tree列表
     *
     * @return
     */
    List<CmsCateTreeResponse> getTreeList();

    /**
     * 获取详细数据
     *
     * @param id
     * @return
     */
    CmsCate getView(Long id);

    /**
     * 添加记录
     *
     * @param entity
     * @return
     */
    int createItem(CmsCate entity);

    /**
     * 更新记录
     *
     * @param id
     * @param entity
     * @return
     */
    int updateItem(Long id, CmsCate entity);

    /**
     * 删除记录
     *
     * @param ids
     * @return
     */
    int deleteItem(String ids);

    /**
     * 获取select-tree数据
     *
     * @return
     */
    List<CmsCateOptionResponse> getOptions();

    /**
     * 获取某栏目下所有子栏目
     *
     * @param parentId
     * @return
     */
    List<CmsCate> selectChildrenCate(Long parentId);

}
